[data-balloon] {
  position: relative; }
  [data-balloon]:before {
    filter: alpha(opactiy=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.18s ease-out;
    -moz-transition: all 0.18s ease-out;
    -ms-transition: all 0.18s ease-out;
    -o-transition: all 0.18s ease-out;
    transition: all 0.18s ease-out;
    background: rgba(17, 17, 17, 0.9);
    border-radius: 4px;
    color: #fff;
    content: attr(data-balloon);
    font-size: 12px;
    padding: .5em 1em;
    position: absolute;
    white-space: nowrap;
    z-index: 10; }
  [data-balloon]:after {
    background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(0)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
    background-size: 100% auto;
    width: 18px;
    height: 6px;
    filter: alpha(opactiy=0);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
    -moz-opacity: 0;
    -khtml-opacity: 0;
    opacity: 0;
    pointer-events: none;
    -webkit-transition: all 0.18s ease-out;
    -moz-transition: all 0.18s ease-out;
    -ms-transition: all 0.18s ease-out;
    -o-transition: all 0.18s ease-out;
    transition: all 0.18s ease-out;
    content: '';
    position: absolute;
    z-index: 10; }
  [data-balloon]:hover:before, [data-balloon]:hover:after {
    filter: alpha(opactiy=100);
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
    -moz-opacity: 1;
    -khtml-opacity: 1;
    opacity: 1;
    pointer-events: auto; }
  [data-balloon][data-balloon-break] {
    white-space: normal; }
  [data-balloon][data-balloon-pos="up"]:before {
    bottom: 100%;
    left: 50%;
    margin-bottom: 11px;
    -webkit-transform: translate3d(-50%, 10px, 0);
    -moz-transform: translate3d(-50%, 10px, 0);
    -ms-transform: translate3d(-50%, 10px, 0);
    transform: translate3d(-50%, 10px, 0);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top; }
  [data-balloon][data-balloon-pos="up"]:after {
    bottom: 100%;
    left: 50%;
    margin-bottom: 5px;
    -webkit-transform: translate3d(-50%, 10px, 0);
    -moz-transform: translate3d(-50%, 10px, 0);
    -ms-transform: translate3d(-50%, 10px, 0);
    transform: translate3d(-50%, 10px, 0);
    -webkit-transform-origin: top;
    -moz-transform-origin: top;
    -ms-transform-origin: top;
    transform-origin: top; }
  [data-balloon][data-balloon-pos="up"]:hover:before {
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    -ms-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0); }
  [data-balloon][data-balloon-pos="up"]:hover:after {
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    -ms-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0); }
  [data-balloon][data-balloon-pos='down']:before {
    left: 50%;
    margin-top: 11px;
    top: 100%;
    -webkit-transform: translate3d(-50%, -10px, 0);
    -moz-transform: translate3d(-50%, -10px, 0);
    -ms-transform: translate3d(-50%, -10px, 0);
    transform: translate3d(-50%, -10px, 0); }
  [data-balloon][data-balloon-pos='down']:after {
    background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="36px" height="12px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(180 18 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
    background-size: 100% auto;
    width: 18px;
    height: 6px;
    left: 50%;
    margin-top: 5px;
    top: 100%;
    -webkit-transform: translate3d(-50%, -10px, 0);
    -moz-transform: translate3d(-50%, -10px, 0);
    -ms-transform: translate3d(-50%, -10px, 0);
    transform: translate3d(-50%, -10px, 0); }
  [data-balloon][data-balloon-pos='down']:hover:before {
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    -ms-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0); }
  [data-balloon][data-balloon-pos='down']:hover:after {
    -webkit-transform: translate3d(-50%, 0, 0);
    -moz-transform: translate3d(-50%, 0, 0);
    -ms-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0); }
  [data-balloon][data-balloon-pos='left']:before {
    margin-right: 11px;
    right: 100%;
    top: 50%;
    -webkit-transform: translate3d(10px, -50%, 0);
    -moz-transform: translate3d(10px, -50%, 0);
    -ms-transform: translate3d(10px, -50%, 0);
    transform: translate3d(10px, -50%, 0); }
  [data-balloon][data-balloon-pos='left']:after {
    background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(-90 18 18)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
    background-size: 100% auto;
    width: 6px;
    height: 18px;
    margin-right: 5px;
    right: 100%;
    top: 50%;
    -webkit-transform: translate3d(10px, -50%, 0);
    -moz-transform: translate3d(10px, -50%, 0);
    -ms-transform: translate3d(10px, -50%, 0);
    transform: translate3d(10px, -50%, 0); }
  [data-balloon][data-balloon-pos='left']:hover:before {
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0); }
  [data-balloon][data-balloon-pos='left']:hover:after {
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0); }
  [data-balloon][data-balloon-pos='right']:before {
    left: 100%;
    margin-left: 11px;
    top: 50%;
    -webkit-transform: translate3d(-10px, -50%, 0);
    -moz-transform: translate3d(-10px, -50%, 0);
    -ms-transform: translate3d(-10px, -50%, 0);
    transform: translate3d(-10px, -50%, 0); }
  [data-balloon][data-balloon-pos='right']:after {
    background: no-repeat url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="12px" height="36px"><path fill="rgba(17, 17, 17, 0.9)" transform="rotate(90 6 6)" d="M2.658,0.000 C-13.615,0.000 50.938,0.000 34.662,0.000 C28.662,0.000 23.035,12.002 18.660,12.002 C14.285,12.002 8.594,0.000 2.658,0.000 Z"/></svg>');
    background-size: 100% auto;
    width: 6px;
    height: 18px;
    left: 100%;
    margin-left: 5px;
    top: 50%;
    -webkit-transform: translate3d(-10px, -50%, 0);
    -moz-transform: translate3d(-10px, -50%, 0);
    -ms-transform: translate3d(-10px, -50%, 0);
    transform: translate3d(-10px, -50%, 0); }
  [data-balloon][data-balloon-pos='right']:hover:before {
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0); }
  [data-balloon][data-balloon-pos='right']:hover:after {
    -webkit-transform: translate3d(0, -50%, 0);
    -moz-transform: translate3d(0, -50%, 0);
    -ms-transform: translate3d(0, -50%, 0);
    transform: translate3d(0, -50%, 0); }
  [data-balloon][data-balloon-length='small']:before {
    white-space: normal;
    width: 80px; }
  [data-balloon][data-balloon-length='medium']:before {
    white-space: normal;
    width: 150px; }
  [data-balloon][data-balloon-length='large']:before {
    white-space: normal;
    width: 260px; }
  [data-balloon][data-balloon-length='xlarge']:before {
    white-space: normal;
    width: 380px; }
    @media screen and (max-width: 768px) {
      [data-balloon][data-balloon-length='xlarge']:before {
        white-space: normal;
        width: 90vw; } }
  [data-balloon][data-balloon-length='fit']:before {
    white-space: normal;
    width: 100%; }
